home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / Games / dinkum3 / dink_sym.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-05-03  |  12.2 KB  |  562 lines

  1. /***********************************************************/
  2. /*                                                         */
  3. /*          --- Dinkum Symbol Definition File ---          */
  4. /*                                                         */
  5. /*            Version:  Mk 1.15,   20 February 1993        */
  6. /*                                                         */
  7. /***********************************************************/
  8.  
  9. #include <stdio.h> 
  10.  
  11. /* This Cpp logic was suggested by Fred Smith */
  12. #if defined (coh40)
  13. #define CLASSIC
  14. #else
  15. /* Deal with K&R C versus ANSI-C */
  16. #if sun
  17. #define PROTOTYPE    0
  18. #else
  19. #define PROTOTYPE    1
  20. #endif
  21. #endif
  22.  
  23. #ifdef CLASSIC
  24. #define PROTOTYPE    0
  25. #endif
  26.  
  27. /* Definitions for Bugs subroutine */
  28. #define Failed        0
  29. #define Request        1
  30. #define Logic_error    2
  31.  
  32. /* Room code numbers */
  33. /*  These code numbers 'n' point to the table entry in room[n][] */
  34. #define R_WALL        -1
  35. #define R_meadow    0
  36. #define R_dike        3
  37. #define R_river_edge    4
  38. #define R_river        5
  39. #define R_stream    6
  40. #define R_slime        7
  41. #define R_bunyip    8
  42. #define R_river_exit    9
  43. #define R_forest    11
  44. #define R_billabong    14
  45. #define R_taipan    18
  46. #define R_mine_head    22
  47. #define R_lift_entr    27
  48. #define R_bitumen    29
  49. #define R_office_entr    36
  50. #define R_office_hall    37
  51. #define R_office_mang    38
  52. #define R_geo_w        39
  53. #define R_store_room    40
  54. #define R_geo_e        41
  55. #define R_lift_inside    43
  56. #define R_L49_entr      44
  57. #define R_L67_entr      45
  58. #define R_L82_entr      46
  59. #define R_hideout_entr    144
  60. #define R_hideout    146
  61. #define R_bend        147
  62. #define R_no_treasure    159
  63. #define R_manhole_1    166
  64. #define R_manhole_2    170
  65. #define R_foreman    177
  66. #define R_blast_point    185
  67. #define R_ufo_w        191
  68. #define R_ufo_nw    192
  69. #define R_ufo_n        193
  70. #define R_ufo_ne    194
  71. #define R_ufo_e        195
  72. #define R_ufo_se    196
  73. #define R_ufo_s        197
  74. #define R_ufo_sw    198
  75. #define R_air_lock    199
  76. #define R_ship_passage    200
  77. #define R_flight_deck    201
  78. #define R_panel        202
  79. #define R_transporter    203
  80. #define R_gleep_tank    206
  81. #define R_warning    217
  82. #define R_gong        238
  83. #define R_closet    240 
  84. #define R_guard     241
  85. #define R_prayer    242
  86. #define R_road_kill_s    245
  87. #define R_road_kill_n    248
  88.  
  89. /* Room category indicator for room[n][i] where "i" is below */
  90. #define M_rm_type    10
  91. #define M_obj_cnt    11
  92. #define M_unmov_obj     12
  93. #define M_monster    13
  94. #define M_gleep        14
  95. #define M_descp        15
  96.  
  97. /* Room type, referred to by room[n][M_rm_type] */
  98. #define T_lethal    -1
  99. #define T_short_descp    0
  100. #define T_long_descp    1
  101. #define T_was_long    3
  102. #define T_looping    5
  103.  
  104. /* Unmovable object status, i.e.  Safe->Status  */
  105. #define S_closed    0
  106. #define S_revealed    1
  107. #define S_flashing    1
  108. #define S_dialed    2
  109. #define S_unlocked    2
  110. #define S_open        3
  111. #define S_kicked    8
  112. #define S_recorder    4
  113. #define S_told        5
  114. #define S_fair_game    6
  115. #define S_recording    7
  116. #define S_playing    9
  117. #define S_inactive    10
  118.  
  119. #define L0        0
  120. #define L49        49
  121. #define L67        67
  122. #define L82        82
  123.  
  124. /* Vocabulary code numbers */
  125. /*  numbers -1 to 10 to not correspond to actual vocabulary words */
  126. #define V_LINE_END    -1
  127. #define V_NULL        0
  128. #define V_MOVE        1
  129. #define V_PLURAL    2
  130. #define V_VERB_ONLY    3
  131. #define V_DIRECTION    4
  132. #define V_NUMBER    5
  133.  
  134. /* --- below are real word symbols --- */
  135. #define V_east        3
  136. #define V_west        4
  137. #define V_up        5
  138. #define V_down         6
  139. #define V_u        15
  140. #define V_quit        21
  141. #define V_unlock    22
  142. #define V_lock        23
  143. #define V_take        24
  144. #define V_leave        25
  145. #define V_drop        26
  146. #define V_can        27
  147. #define V_bottle    28
  148. #define V_mat        29  
  149. #define V_key        30
  150. #define V_butt        31
  151. #define V_look        32
  152. #define V_door        33
  153. #define V_open        34
  154. #define V_get        35
  155. #define V_throw        36
  156. #define V_turn        37
  157. #define V_on        38
  158. #define V_off        39
  159. #define V_push        40
  160. #define V_button    41
  161. #define V_enter        42
  162. #define V_switch    43
  163. #define V_zero        44
  164. #define V_forty_nine    45
  165. #define V_sixty_seven    46
  166. #define V_eighty_two    47
  167. #define V_0        48
  168. #define V_49        49
  169. #define V_67        50
  170. #define V_82        51
  171. #define V_beer        52
  172. #define V_lager        53
  173. #define V_doormat    54
  174. #define V_lift        55
  175. #define V_on_q        56
  176. #define V_off_q        57
  177. #define V_svc        58
  178. #define V_map        59
  179. #define V_picture    60
  180. #define V_safe        61
  181. #define V_dial        62
  182. #define V_paper        63
  183. #define V_put        64
  184. #define V_close        65
  185. #define V_read        66
  186. #define V_gold        67
  187. #define V_bar        68
  188. #define V_dynamite    69
  189. #define V_rifle        70
  190. #define V_M16        71
  191. #define V_m16        72
  192. #define V_cap        73
  193. #define V_matches    74
  194. #define V_diamond    75
  195. #define V_ring        76
  196. #define V_ruby        77
  197. #define V_silver    78
  198. #define V_coin        79
  199. #define V_bill        80
  200. #define V_money        81
  201. #define V_teapot    82
  202. #define V_clip        83
  203. #define V_ammo        84
  204. #define V_box        85
  205. #define V_stick        86
  206. #define V_pills        87
  207. #define V_orange    88
  208. #define V_glowing    89
  209. #define V_saphire    90
  210. #define V_emerald    91
  211. #define V_score        92
  212. #define V_inventory    93
  213. #define V_examine    94
  214. #define V_describe    95
  215. #define V_drink     96
  216. #define V_fill        97
  217. #define V_water        98
  218. #define V_fourex    99
  219. #define V_invent    100
  220. #define V_view        101
  221. #define V_press        102
  222. #define V_exit        103
  223. #define V_all        104
  224. #define V_Fourex    105
  225. #define V_everything    106
  226. #define V_shoot        107
  227. #define V_kill        108
  228. #define V_ned        109
  229. #define V_Ned        110
  230. #define V_kelly        111
  231. #define V_Kelly        112
  232. #define V_pick        113
  233. #define V_grab        114
  234. #define V_combination    115
  235. #define V_select    116
  236. #define V_safety    117
  237. #define V_SAFE        118
  238. #define V_triple    119
  239. #define V_III        120
  240. #define V_single    121
  241. #define V_I        122
  242. #define V_auto        123
  243. #define V_AUTO        124
  244. #define V_automatic    125
  245. #define V_set        126
  246. #define V_insert    127
  247. #define V_attach    128
  248. #define V_plan        129
  249. #define V_gun        130
  250. #define V_magazine    131
  251. #define V_hoop        132
  252. #define V_snake        133
  253. #define V_bear        134
  254. #define V_wombat    135
  255. #define V_remove    136
  256. #define V_eject        137
  257. #define V_org_clip    138
  258. #define V_shut        139
  259. #define V_gleep        140
  260. #define V_gleeps    141
  261. #define V_letter    142
  262. #define V_envelope    143
  263. #define V_torch        144
  264. #define V_mail        145
  265. #define V_tank        146
  266. #define V_carefully    147
  267. #define V_gently    148
  268. #define V_softly    149
  269. #define V_slow_drop    150
  270. #define V_light        151
  271. #define V_ignite    152
  272. #define V_fuse        153
  273. #define V_slowly    154
  274. #define V_match        155
  275. #define V_cube        156
  276. #define V_blue        157
  277. #define V_blue_button    158
  278. #define V_gray        159
  279. #define V_gray_button    160
  280. #define V_clapper    161
  281. #define V_sound        162
  282. #define V_bang        163
  283. #define V_hit        164
  284. #define V_strike    165
  285. #define V_gong        166
  286. #define V_detector    167
  287. #define V_give        168
  288. #define V_stats        169
  289. #define V_jsys        170
  290. #define V_su        171
  291. #define V_yellow    172
  292. #define V_yellow_button    173
  293. #define V_poster    174
  294. #define V_eat        175
  295. #define V_swallow    176
  296. #define V_pill        177
  297. #define V_atropine    178
  298. #define V_packet    179
  299. #define V_wrapper    180
  300. #define V_tire        181
  301. #define V_shell        182
  302. #define V_brick        183
  303. #define V_rope        184
  304. #define V_package    185
  305. #define V_belt        186
  306. #define V_filter    187
  307. #define V_string    188
  308. #define V_cabinet    189
  309. #define V_calendar    190
  310. #define V_tackle    191
  311. #define V_bit        192
  312. #define V_jack        193
  313. #define V_pen        194
  314. #define V_pencil    195
  315. #define V_wire        196
  316. #define V_pipe        197
  317. #define V_panel        198
  318. #define V_opener    199
  319. #define V_cord        200
  320. #define V_photo        201
  321. #define V_chair        202
  322. #define V_bulb        203
  323. #define V_rag        204
  324. #define V_tube        205
  325. #define V_carpet    206
  326. #define V_branch    207
  327. #define V_cork        208
  328. #define V_trap        209
  329. #define V_lighter    210
  330. #define V_lace        211
  331. #define V_comb        212
  332. #define V_umbrella    213
  333. #define V_meadow    214
  334. #define V_billabong    215
  335. #define V_river        216
  336. #define V_road        217
  337. #define V_forest    218
  338. #define V_grass        219
  339. #define V_stream    220
  340. #define V_desert    221
  341. #define V_building    222
  342. #define V_office    223
  343. #define V_hideout    224
  344. #define V_dust        225
  345. #define V_mine        226
  346. #define V_tunnel    227
  347. #define V_tree        228
  348. #define V_spinifex    229
  349. #define V_hexagon    230
  350. #define V_spacecaft    231
  351. #define V_airlock    232
  352. #define V_wing        233
  353. #define V_hole        234
  354. #define V_tray        235
  355. #define V_liquid    236
  356. #define V_cockroach    237
  357. #define V_go        238
  358. #define V_scream    239
  359. #define V_yell        240
  360. #define V_bring        241
  361. #define V_help        242
  362. #define V_dump        243
  363. #define V_attack    244
  364. #define V_check        245
  365. #define V_inspect    246
  366. #define V_place        247
  367. #define V_touch        248
  368. #define V_pull        249
  369. #define V_extinguish    250
  370. #define V_ask        251
  371. #define V_talk        252
  372. #define V_tell        253
  373. #define V_find        254
  374. #define V_move        255
  375. #define V_break        256
  376. #define V_kick        257
  377. #define V_smash        258
  378. #define V_feed        259
  379. #define V_taste        260
  380. #define V_smell        261
  381. #define V_slam        262
  382. #define V_desk        263
  383. #define V_in        264
  384. #define V_into        265
  385. #define V_under        266
  386. #define V_out        267
  387. #define V_from        268
  388. #define V_by        269
  389. #define V_with        270
  390. #define V_fling        271
  391. #define V_what        272
  392. #define V_where        273
  393. #define V_are        274
  394. #define V_am        275
  395. #define V_have        276
  396. #define V_QUESTION    277
  397. #define V_how        278
  398. #define V_why        279
  399. #define V_who        280
  400. #define V_when        281
  401. #define V_leap        282
  402. #define V_walk        283
  403. #define V_run        284
  404. #define V_jump        285
  405. #define V_hop        286
  406. #define V_stroll    287
  407. #define V_saunter    288
  408. #define V_swagger    289
  409. #define V_swing        290
  410. #define V_dig        291
  411. #define V_swim        292
  412. #define V_depart    293
  413. #define V_info        294
  414. #define V_back        295
  415. #define V_hold        296
  416. #define V_fire        297
  417. #define V_stand        298
  418. #define V_painting    299
  419. #define V_doors        300
  420. #define V_treasure    301
  421. #define V_trigger    302
  422. #define V_load        303
  423. #define V_unload    304
  424. #define V_sand        305
  425. #define V_cockroaches    306
  426. #define V_kangaroo    307
  427. #define V_climb        308
  428. #define V_bulldust    309
  429. #define V_kangaroos    310
  430. #define V_spinifexes    311
  431. #define V_fuze        312
  432. #define V_message    313
  433. #define V_wall        314
  434. #define V_recorder    315
  435. #define V_red        316
  436. #define V_white        317
  437. #define V_green        318
  438. #define V_red_button    319
  439. #define V_white_button    320
  440. #define V_green_button    321
  441. #define V_grey        322
  442. #define V_matchbox    323
  443. #define V_map_frag    324
  444. #define V_circuit    325
  445. #define V_lift_door    326
  446. #define V_transporter    327
  447. #define V_warning    328
  448. #define V_explosive    329
  449. #define V_self        330
  450. #define V_myself    331
  451. #define V_yourself    332
  452. #define V_one        333
  453. #define V_two        334
  454. #define V_three        335
  455. #define V_four        336
  456. #define V_five        337
  457. #define V_toss        338
  458. #define V_chart        339
  459. #define V_charts    340
  460. #define V_schedule    341
  461. #define V_schedules    342
  462. #define V_orange_button    343
  463.  
  464. /* Miscellaneous flags */
  465. #define FALSE        0
  466. #define TRUE        1
  467. #define F_asleep    8
  468. #define F_stealing    9
  469. #define F_passive    10
  470. #define F_aggressive    11
  471. #define F_killing    12
  472. #define F_no_monster    13
  473. #define F_monster_active    14
  474. #define F_no_argument    15
  475. #define F_safety    16
  476. #define F_single    17
  477. #define F_triple    18
  478. #define F_auto        19
  479. #define F_no_clip    20
  480. #define F_normal_clip    21
  481. #define F_org_clip    22
  482. #define F_wounded    23
  483. #define F_replace    24
  484. #define F_ignore    25
  485. #define F_died        26
  486. #define F_quit        27
  487.  
  488. /* enemy/monster symbols */
  489. #define N_ned        0
  490. #define N_wombat    1
  491. #define N_drop_bear    2
  492. /* 2-5 drop bear   */
  493. #define N_hoop_snake    6
  494. /* 6-13 hoop snake */
  495. #define N_guards    14
  496. #define N_mullah    15
  497.  
  498. /* Object status as referred to in object->Location */
  499. #define B_have      -1
  500. #define B_unmade    -2
  501. #define B_destroyed    -3
  502. #define B_in_safe    -5
  503.  
  504. /* Object external property as referred to in object->Type */
  505. #define Z_normal    0
  506. #define Z_transform    1
  507. #define Z_alias        2
  508. #define Z_unmovable    3
  509.  
  510. /* Structure for monsters */
  511. struct monster_struct { 
  512.     int Type ;    /* Monster type                  */
  513.     int Location ;    /* Location of the monster            */
  514.     int Status ;    /* Status of the monster              */
  515.     int Hits ;    /* Number of bullet hits into monster */
  516. } ;
  517.  
  518. typedef struct monster_struct MONSTER_STRUCT;
  519.  
  520. /* Structure for objects */
  521. struct object_struct {
  522.     int Location ;     /* Object's location or status   */
  523.     int Value ;    /* Treasure value                */
  524.     int Type ;    /* Object's external property    */
  525.     int ID ;    /* Object ID number              */
  526.     int Weight ;    /* Object weight                 */
  527.     int Status ;     /* Object's internal property    */
  528.     char *Text ;    /* Text string describing object */
  529. } ;
  530.  
  531. typedef struct object_struct OBJECT_STRUCT;
  532.  
  533. /* Structure for objects which can be examined or read */
  534. struct read_struct {
  535.     int ID ;    /* Object ID number              */
  536.     int Readable ;    /* TRUE if readable              */
  537. } ;
  538.  
  539. typedef struct read_struct READ_STRUCT;
  540.  
  541. /* Structure for adjectives */
  542. struct adjective_struct {
  543.     int Adjective ;        /* Adjective word number */
  544.     int Modified_noun ;    /* Noun to be modified word number */
  545.     int Generated_noun ;    /* Resultant noun from above adjective & noun */
  546.     int Command ;        /* Command or action done with resultant noun */
  547. } ;
  548.  
  549. typedef struct adjective_struct ADJECTIVE_STRUCT;
  550.  
  551. /* Structure for adverbs */
  552. struct adverb_struct {
  553.     int Adverb ;        /* Adverb word number */
  554.     int Modified_verb ;    /* Verb to be modified word number */
  555.     int Generated_verb ;    /* Resultant verb from above adverb & verb */
  556. } ;
  557.  
  558. typedef struct adverb_struct ADVERB_STRUCT;
  559.  
  560.  
  561.  
  562.